package dao

import (
	"time"
)

// 这是 CmsMemberReport 的全局公开dao对象，被service层调用!
var CmsMemberReportDao = cmsMemberReportDao{}

// 这是 cms_member_report表 的实体类
type CmsMemberReport struct {
	CreateTime       time.Time `json:"create_time" form:"create_time" v:"create_time"`       // 举报时间
	HandleStatus     int32     `json:"handle_status" form:"handle_status" v:"handle_status"` // 处理结果：0-&gt;无效；1-&gt;有效；2-&gt;恶意
	Id               int64     `json:"id" form:"id" v:"id"`
	Note             string    `json:"note" form:"note" v:"note"`
	ReportMemberName string    `json:"report_member_name" form:"report_member_name" v:"report_member_name"` // 举报人
	ReportObject     string    `json:"report_object" form:"report_object" v:"report_object"`
	ReportStatus     int32     `json:"report_status" form:"report_status" v:"report_status"` // 举报状态：0-&gt;未处理；1-&gt;已处理
	ReportType       int32     `json:"report_type" form:"report_type" v:"report_type"`       // 举报类型：0-&gt;商品评价；1-&gt;话题内容；2-&gt;用户评论

}

// 注意:这是 CmsMemberReport 的私有dao对象，只能在dao层内使用!
type cmsMemberReportDao struct {
	InsertTemplate func(arg CmsMemberReport) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg CmsMemberReport) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                          `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (CmsMemberReport, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]CmsMemberReport, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 cms_member_report 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type CmsMemberReportPostman struct {
create_time
handle_status
id
note
report_member_name
report_object
report_status
report_type

}*/

// 这是 cms_member_report 表的批量请求参数
type CmsMemberReportReq struct {
	List []CmsMemberReport `json:"list" form:"list"`
}
